import { shapeTypes } from "../../libs/config";
const placementTypes = ["row", "column"];
const iconPlacementTypes = ["left", "right"];

export const checkboxGroupProps = {
  // 标识符
  name: {
    type: String,
  },
  // 绑定的值
  modelValue: {
    type: Array,
  },
  // 形状，circle-圆形，square-方形
  shape: {
    type: String,
    values: shapeTypes,
  },
  // 是否禁用全部checkbox
  disabled: {
    type: Boolean,
    default:null
  },
  // 选中状态下的颜色，如设置此值，将会覆盖parent的activeColor值
  activeColor: {
    type: String,
  },
  // 未选中的颜色
  inactiveColor: {
    type: String,
  },

  // 整个组件的尺寸，默认px
  size: {
    type: [String, Number],
  },
  // 布局方式，row-横向，column-纵向
  placement: {
    type: String,
    values: placementTypes,
  },
  // label的字体大小，px单位
  labelSize: {
    type: [String, Number],
  },
  // label的字体颜色
  labelColor: {
    type: [String],
  },
  // 是否禁止点击文本操作
  labelDisabled: {
    type: Boolean,
    default:null
  },
  // 图标颜色
  iconColor: {
    type: String
  },
  // 图标的大小，单位px
  iconSize: {
    type: [String, Number]
  },
  // 勾选图标的对齐方式，left-左边，right-右边
  iconPlacement: {
    type: String,
    values: iconPlacementTypes
  },
  // 竖向配列时，是否显示下划线
  borderBottom: {
    type: Boolean,
    default:null
  },

};

export const checkboxGroupEmits = {
  change: (v?: Array<string | number | boolean | undefined>) => true,
  "update:modelValue": (v?: Array<string | number | boolean | undefined>) => true,
};
